package com.vaadin.thomas.contenttool.data;

import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;

public interface Value extends Comparable<Value> {

	public abstract Set<Tag> getTags();

	public abstract void removeTag(Tag t);

	public abstract void addTag(Tag t);

	public abstract String getKey();

	public abstract Map<Locale, List<Localization>> getLocalizations();

	public abstract Map<Locale, List<Localization>> getAllLocalizations();

	public abstract void addLocalization(Localization loc);

	public abstract Value getPreviousVersion();

	public abstract Value getNextVersion();

	public abstract Version getVersion();

	public abstract void markForDelete();

	public abstract boolean isDeleted();

	public abstract void unDelete();

}